home *** CD-ROM | disk | FTP | other *** search
/ Interactive Media Design Review 1999 / Interactive Media Design Review 1999.iso / pc / Demos / Herois / Codigo.Cst / 00125_Verbetes- Anima tipo.ls < prev    next >
Encoding:
Text File  |  1999-03-19  |  2.3 KB  |  80 lines

  1. property memberPrim, memberUlt -- Cast members que serao animados
  2. property memPrim, memQuantos -- Membros: em numero
  3. property espera -- Tempo de espera entre cada mudanca (em ticks) 
  4. property aleatorio -- True para mudanca aleatoria
  5. property ultimaTroca -- Hora em que foi feita ultima troca
  6. property fotoAtual
  7. property spr
  8.  
  9. on getBehaviorDescription
  10.   return "Anima sprites"
  11. end
  12.  
  13. on getPropertyDescriptionList
  14.   set p_list = [ ┬¼
  15.     #memberPrim: [ #comment:   "Primeiro membro da animacao", ┬¼
  16.                     #format:   #string, ┬¼
  17.                    #default:   "" ], ┬¼
  18.     #memberUlt: [ #comment:   "Ultimo membro da animacao", ┬¼
  19.                     #format:   #string, ┬¼
  20.                    #default:   "" ], ┬¼
  21.     #espera: [ #comment: "Espera entre cada troca em 1/60s (velocidade)",┬¼
  22.                       #format: #integer,┬¼
  23.                      #default: 60 ],┬¼
  24.     #aleatorio: [ #comment: "Animacao randomica",┬¼
  25.                       #format: #boolean,┬¼
  26.                      #default: false ]┬¼
  27.   ]
  28.   return p_list
  29. end
  30.  
  31. on beginSprite me
  32.   set spr = the spriteNum of me
  33.   muda me
  34. end
  35.  
  36. on muda me
  37.   global gVerbeteTipo
  38.   case gVerbeteTipo of
  39.     0: 
  40.       set memberPrim = "TipoBasico1"
  41.       set memberUlt = "TipoBasico8"
  42.     1:
  43.       set memberPrim = "TipoEquipes1"
  44.       set memberUlt = "TipoEquipes8"
  45.     2:
  46.       set memberPrim = "TipoAstros1"
  47.       set memberUlt = "TipoAstros6"
  48.   end case
  49.   set memPrim to the number of member memberPrim
  50.   set memQuantos to (the number of member memberUlt) - memPrim + 1
  51.   put 0 into fotoAtual
  52.   set the member of sprite spr to memPrim
  53. end
  54.  
  55. on cleanSprite me
  56.   puppetSprite (the spriteNum of me),false
  57. end 
  58.  
  59. on idleSprite me
  60.   global gMustUpdate
  61.   
  62.   -- Testa se ja e' hora de trocar figura
  63.   if (the timer - ultimaTroca) > espera then
  64.     
  65.     -- Descobre qual a proxima figura a trocar
  66.     if (aleatorio) then
  67.       put random(memQuantos - 1) - 1 into tmp
  68.       if tmp >= fotoAtual then put 1 + tmp into tmp
  69.       put tmp into fotoAtual
  70.     else
  71.       put fotoAtual + 1 into fotoAtual
  72.       if fotoAtual >= memQuantos then put 0 into fotoAtual
  73.     end if
  74.     
  75.     -- Muda figura e updateStage
  76.     set the member of sprite (the spriteNum of me) to memPrim + fotoAtual
  77.     set gMustUpdate to true
  78.     put the timer into ultimaTroca
  79.   end if
  80. end